The present invention relates to navigation systems and more particularly the present invention relates to a way to avoid prohibited driving maneuvers when using a navigation system to determine a route to a destination.
Navigation systems provide useful features, such as calculating a route to a desired destination and providing guidance for following the route. In order to provide these features, navigation systems use geographic data that include information about the locations of roads and intersections, estimated travel times along road segments, the speed limits along roads, etc. Using geographic data, programming algorithms used in navigation systems can find an optimal (e.g, fastest or shortest) route to a specified destination.
The geographic data used by navigation systems also include data about traffic restrictions, such as one-way streets, no-left-turns, etc., so that the navigation system can calculate a legal route (i.e., a route that conforms to applicable traffic laws and regulations). For example, FIG. 1 illustrates a simple intersection at which it is illegal to make a right turn from road "A" to road "B." In the geographic data, a data record used to represent the intersection of road A and road B may include information about this turn restriction. Similarly, if a road is a one-way street, information about this direction of travel restriction is included in the one or more data records that represent the road.
In addition to traffic restrictions that involve only two road segments, there are types of traffic restrictions that involve more than two road segments. Two examples of traffic restrictions that involve several segments (three or more segments) are shown in FIGS. 2 and 3. FIG. 2 illustrates lanes in one direction of traffic on an expressway where traffic flows from segment 2 to 3 to 4. Segment 1 represents an entrance ramp on the left, and segment 5 represents an exit ramp on the right. If segment 3 is too short to safely allow a vehicle entering the expressway on segment 1 from exiting via segment 5, traffic authorities may prohibit such a maneuver.
In FIG. 3, roads X and Y represent major arteries, while segments 5, 6, and 7 represent local roads. In many cases, a municipality will restrict drivers from taking a short cut from road X to road Y by prohibiting the sequence 1-5-6-4 and require drivers to follow the sequence 1-2-3-4. Turns are permitted into and out of the neighborhood as long as the illegal sequence is not followed.
In a navigation system, several-segment (3 or more) restricted driving maneuvers are more difficult for routing algorithms to deal with than two-segment restricted driving maneuvers. Several-segment restricted driving maneuvers require that the database include information that flags each segment in the several-segment restricted driving maneuver. Routing algorithms check every segment examined for this flag and ensure that the expanded route does not follow an illegal sequence. This becomes more complex if the routing algorithm is a two-ended A* algorithm and the several-segment restricted driving maneuver occurs where the source and destination search trees meet. Due to the complexity of implementation and extra processing required, some database compilers drop this data. Other database compilers may include it, but the in-vehicle routing application ignores it. As a result, illegal routes may be generated even when the data exists to prevent such routes.
Accordingly, there is a need for an improved means to handle several-segment restricted driving maneuvers.